﻿using System;
using System.Collections.Specialized;
using System.ServiceModel;
using Domain.Dummies.Dtos;
using Domain.Dummies.Dtos.Collections;

namespace Services.Dummies.HrService
{
    [ServiceContract]
    public interface IHrService
    {
        [OperationContract]
        Guid CreateStudent(SessionDto session, StudentDto student);

        [OperationContract]
        bool DeleteStudent(SessionDto session, Guid studentId);

        [OperationContract]
        Guid CreateTeacher(SessionDto session, TeacherDto teacher);

        [OperationContract]
        bool DeleteTeacher(SessionDto session, Guid teacherId);

        [OperationContract]
        Guid? GetStudentId(SessionDto session, StudentDto student);

        [OperationContract]
        Guid? GetTeacherId(SessionDto session, TeacherDto teacher);

        [OperationContract]
        bool UpdateStudent(SessionDto session, Guid studentId, StudentDto student);

        [OperationContract]
        bool UpdateTeacher(SessionDto session, Guid teacherId, TeacherDto teacher);
                
        

        [OperationContract]
        PersonListGuidsDto GetStudents(SessionDto session);

        [OperationContract]
        PersonListGuidsDto GetTeachers(SessionDto session);
        
        [OperationContract]
        StudentDto GetStudent(SessionDto session, System.Guid StudentGuid);

        [OperationContract]
        TeacherDto GetTeacher(SessionDto session, System.Guid TeacherGuid);
    }
}
